草庐IT

javascript - 将 document.getElementById 设置为变量

全部标签

ruby-on-rails - 如何将特定的 gem 版本设置为默认版本?

我有两个版本的ruby​​gem。json(default:2.0.2,1.8.6)这里默认设置最新版本;但是我需要将json1.8.6设置为默认值。有没有将旧版本的gem作为默认版本?因为我无法卸载默认的json版本。需要在可用的gem版本之间切换。 最佳答案 检查你有什么:gemlistjson设置你想要的:geminstall--default-v1.8.6json这对于诸如“bundler”之类的东西最有用!!!对于其他方面,使用bundler和Gemfile可能是更好的选择。

ruby - `class_eval` 字符串中的变量范围是什么?

我正在使用class_eval编写要在当前类的上下文中执行的代码。在下面的代码中,我想为属性值的变化添加一个计数器。classClassdefattr_count(attr_name)attr_name=attr_name.to_sattr_readerattr_name#createtheattribute'sgetterclass_eval%Q{@count=0def#{attr_name}=(attr_name)@attr_name=attr_name@count+=1enddef#{attr_name}@attr_nameend}endendclassFooattr_count

ruby - 如何访问 IRB 所需的 Ruby 文件中定义的变量?

文件welcome.rb包含:welcome_message="hithere"但是在IRB中,我无法访问我刚刚创建的变量:require'./welcome.rb'putswelcome_message#=>undefinedlocalvariableormethod`welcome_message'formain:Object当您在IRBsession中require某些内容时,引入预定义变量并完成初始化工作的最佳方法是什么?全局变量似乎不是正确的路径。 最佳答案 虽然您确实无法访问所需文件中定义的局部变量,但您可以访问常量,并

ruby - 在 Ruby 中,有没有办法打印出所有定义/预定义的全局变量和常量?

在Ruby中,有没有办法打印出所有定义/预定义的全局变量和常量? 最佳答案 global_variables方法返回所有全局变量名称的数组。要获取模块中定义的所有常量的名称,请将constants发送到相关模块。例如,要获取无需指定命名空间即可访问的所有常量,请使用Object.constants。 关于ruby-在Ruby中,有没有办法打印出所有定义/预定义的全局变量和常量?,我们在StackOverflow上找到一个类似的问题: https://stack

ruby - 是否有适用于 ruby​​ 2.0 的 pry 调试设置?

我在OSX上使用ruby​​2.0.0-p195。pry-debugger不工作(step/continue/next都像continue一样工作)。是否有适用于ruby​​2.0的调试gem?更新:pry-debugger和pry-byebug似乎都可以在一个简单的项目中使用ruby​​2.0.0-p195。在测试中使用binding.pry时,我有一些其他冲突导致两者都失败...更新:pry-byebug正在为我使用最新的ruby​​2.0版本2.0.0-p247,以及pry-byebug1.1.1和byebug1.5.0 最佳答案

ruby - 为什么我可以引用从未运行过的 if/unless/case 语句之外的变量?

为什么下面的代码不会报错?iffalsex=0endx#=>nil而以下确实会引发错误:y#NameError:undefinedlocalvariableormethod`y'formain:Objectunless和case语句也会发生同样的事情。 最佳答案 这是因为Ruby解析器的工作方式。变量由解析器定义,解析器逐行遍历代码,而不管它是否会实际执行。一旦解析器看到x=,它就会在当前范围内定义局部变量x(值为nil)。因为if/unless/case/for/while不创建新的作用域,x被定义并且在代码块之外可用。由于条件为

ruby-on-rails - 内置 Capistrano 变量

有人知道所有内置Capistrano变量的列表,例如current_path等吗? 最佳答案 您可以在以下位置找到所有这些:https://github.com/capistrano/capistrano/blob/legacy-v2/lib/capistrano/recipes/deploy.rb更新:v3不再具有与v2相同的配置选项。我在上面链接了v2配置选项,但v3具有以下内容:这是遗留的,保留在这篇文章中:#===========================================================

Ruby:使用 Object.send 分配变量

有什么办法可以做这样的事情吗?a=Struct.new(:c).new(1)b=Struct.new(:c).new(2)a.send(:c)=>1b.send(:c)=>2a.send(:c)=b.send(:c)最后一行导致错误:syntaxerror,unexpected'=',expecting$enda.send(:c)=b.send(:c)^ 最佳答案 a.send(:c=,b.send(:c))foo.bar=baz不是调用方法bar后跟赋值-它是调用方法bar=。因此,您需要告诉send调用该方法。

ruby-on-rails - 在 Ruby 中,我可以在初始化方法中以某种方式自动填充实例变量吗?

在Ruby中,我可以在初始化方法中以某种方式自动填充实例变量吗?例如,如果我有:classWeekendattr_accessor:start_date,:end_date,:title,:description,:locationdefinitialize(params)#SOMETHINGHERETOAUTOPOPULATEINSTANCEVARIABLESWITHAPPROPRIATEPARAMSendend 最佳答案 您可以使用instance_variable_set像这样:params.eachdo|key,value|

ruby - 测试变量是否与多个字符串中的任何一个匹配,而没有长的 if-elsif 链或 case-when

我想在ruby​​中有一种很好的单行方式来表达ifmystr=="abc"or"def"or"ghi"or"xyz"但在我通常查阅的在线引用资料中找不到如何做到这一点...谢谢! 最佳答案 也许你不知道你可以在一个案例上放置多个条件:casemystrwhen"abc","def","ghi","xyz"..end但是对于这个特定的基于字符串的测试,我会使用正则表达式:ifmystr=~/\A(?:abc|def|ghi|xyz)\z/如果您不想构造正则表达式,也不想使用case语句,您可以创建一个对象数组并使用Array#incl